Video games are becoming more and more complex. In the beginning, there were rules, and the rules were with a video game. For example, the rules defined what a video game player can and cannot do. For a goal to be attained in the video game, the video game presented a linear sequence of events and the video game player needed to respond with a linear sequence of actions. More recently, the rules have been relaxed and more video games have become open-ended. For example, a video game player can freely interact almost in any way, perform any action, and progress differently in a video game.
The complexity increase poses challenges to video game players and to game developers. On one hand, the large freedom given can confuse video game players who are unfamiliar with a video game. On the other hand, creating an effective game experience is challenging for a game developer. Because the progression in the video game can vary widely between video game players, anticipating what the progression could be like and what assistance is needed is very difficult. Typically, video game code provides game assistance or adapts a video game according to a number of possible scenarios. However, the video game code can be further improved to provide more adaptive game assistance and video games.